package com.zjsru.plan2025.oneday;

import java.util.Arrays;
import java.util.List;

/**
 * 3349. 检测相邻递增子数组 I
 *
 * @Author: cookLee
 * @Date: 2025-10-14
 */
public class HasIncreasingSubarrays {

    /**
     * 主
     * 具有不断增加子数组
     * \
     * 输入：nums = [2,5,7,8,9,2,3,4,3,1], k = 3
     * <p>
     * 输出：true
     * <p>
     * 解释：
     * <p>
     * 从下标 2 开始的子数组为 [7, 8, 9]，它是严格递增的。
     * 从下标 5 开始的子数组为 [2, 3, 4]，它也是严格递增的。
     * 两个子数组是相邻的，因此结果为 true。
     * \
     *
     * @param args args
     */
    public static void main(String[] args) {
        HasIncreasingSubarrays hasIncreasingSubarrays = new HasIncreasingSubarrays();
        System.out.println(hasIncreasingSubarrays.hasIncreasingSubarrays(Arrays.asList(-15, 19), 1));
    }

    public boolean hasIncreasingSubarrays(List<Integer> nums, int k) {
        int count = 0;
        //当前位置严格递增的子数组的长度
        int cnt = 1;
        //前一个位置严格递增的子数组的长度
        int precnt = 0;
        // 遍历数组，统计连续递增序列的长度
        for (int i = 1; i < nums.size(); i++) {
            if (nums.get(i) > nums.get(i - 1)) {
                cnt++;
            } else {
                precnt = cnt;
                cnt = 1;
            }
            // 更新找到的最大递增子数组长度
            count = Math.max(count, Math.min(precnt, cnt));
            //都属于cnt，向下取整
            count = Math.max(count, cnt / 2);
        }
        return count >= k;
    }


}
